ability_prompt = (
    "请阅读下面用户的问话以及对话助手相应的回答，根据你的知识，列举出，完成这一回答，对话助手主要需要使用哪些种类的能力。注意，仅列举能力名字即可，每种不同能力用<>分割。注意不要输出类似'问题理解'、'信息抽取'这种太过泛泛的能力。"
    "注意：区分'能力'，如'编程能力'，和'知识'，如'代码知识'之间的区别。给定某一代码相关的问题，你需要输出<编程能力>"
    "注意：区分'能力'，如'创意写作'，和'任务'，如'人物设定'之间的区别。给定某一写小说相关的问题，你需要输出<创意写作>"
    "注意，你要站在问答助手的角度来思考问答助手需要什么能力。比如用户问问答助手一个人际交往的问题，你需要输出<常识问答>。"
    "下面展示几个示例："
    "用户问话及对话助手回答：###用户问：如何理解“婚姻是一座围城，城外的人想进去，城里的人想出来。”这句话？\n对话助手回答：\"婚姻是一座城墙，城外的人想进去，城里的人想出来”，指的是人们往往渴望自己没有的东西。单身的人可能渴望婚姻的安全感和陪伴，而已婚的人可能会感到被随之而来的责任和期望所困或束缚。\n这句话突出了人类欲望和情感的复杂性和矛盾性。\n###\n对话助手所需哪些能力？答："
    "<情感分析><常识理解>\n"
    "用户问话及对话助手回答：###用户问：我走了8米，只走了全程的八分之三，请问还要走多少路程？\n对话助手回答：8米为全程的八分之三，由此可知全程长二十一又三分之一米，走了8米，还剩十三又三分之一米的路程\n###对话助手所需哪些能力？答："
    "<数学推理><符号推理><逻辑推理>\n"
    "用户问话及对话助手回答：###用户问：“宫廷玉液酒”下一句是什么？它多少钱一杯？\n对话助手回答：“宫廷玉液酒”的下一句是“一百八一杯”。它的价格是一百八十元一杯。\n###\n对话助手所需哪些能力？答："
    "<语言理解><常识推理>\n"
    "用户问话及对话助手回答：###用户问：请将“to paint the lily”翻译成汉语。\n对话助手回答：“to paint the lily” 的意思是“画蛇添足”，即为多此一举地添加一些不必要的东西。\n###\n对话助手所需哪些能力？答："
    "<多语言理解><翻译>\n"
    "用户问话及对话助手回答：###苹果、橘子、香蕉、甘蔗、草莓、西红柿、橙子、鸭梨、水果” 请你从中找出与其他几项存在区别的一项，并详细解释存在什么样的区别\n对话助手回答：在几个选项中，“水果”与其他几项存在区别。水果是类别总称，其余几项均为单一物种名称。\n###\n对话助手所需哪些能力？答："
    "<逻辑推理><常识推理>\n"
    "用户问话及对话助手回答：###{prompt}\n###\n对话助手所需哪些能力？答："
)

task_prompt = (
    "请阅读下面用户的问话以及对话助手相应的回答，根据你的知识，列举出，问答助手在执行什么类型的任务。注意，仅列举任务名字即可，每种不同任务用<>分割。注意不要输出类似'问题解决','问答问题'这种太过泛泛的任务名。"
    "注意：区分'任务'，如'代码写作'，和'能力'，如'编程能力'之间的区别。给定某一代码相关的问题，你需要输出的任务标签是<代码写作>。"
    "注意，你要站在问答助手的角度来思考问答助手在执行什么任务。比如用户问问答助手面试应该怎么准备，你需要输出的标签是<面试辅导>而不是<技术面试>。"
    "例如："
    "用户问话及对话助手回答：###用户问：如何理解“婚姻是一座围城，城外的人想进去，城里的人想出来。”这句话？\n对话助手回答：\"婚姻是一座城墙，城外的人想进去，城里的人想出来”，指的是人们往往渴望自己没有的东西。单身的人可能渴望婚姻的安全感和陪伴，而已婚的人可能会感到被随之而来的责任和期望所困或束缚。\n这句话突出了人类欲望和情感的复杂性和矛盾性。\n###\n问答助手在执行什么任务？答："
    "<常识问答>\n"
    "用户问话及对话助手回答：###用户问：我走了8米，只走了全程的八分之三，请问还要走多少路程？\n对话助手回答：8米为全程的八分之三，由此可知全程长二十一又三分之一米，走了8米，还剩十三又三分之一米的路程\n###问答助手在执行什么任务？答："
    "<数学推理>\n"
    "用户问话及对话助手回答：###用户问：生成一份高中课文《观沧海》的教案，内容包括教学目标、教学重点、板书设计、课后总结。\n对话助手回答：《观沧海》高中教材教案\n教学目标：\n·了解“观沧海”的历史脉络\n·浅析《关沧海》的主题与人物\n·培养批判性思维和文学分析能力\n·提高写作和沟通技巧\n教学重点：\n·“观沧海”的历史脉络\n·主题和人物的文学分析\n·写作和沟通技巧\n板书设计:\n·作者简介及历史背景\n·主要题材与人物分析\n·讨论写作技巧和文学手法\n·写作提示和练习\n课程大纲:\n一、简介 (10分钟)\n·“观沧海”及其历史脉络简述\n·作者简介及文学风格\n二、文学分析 (40 分钟)\n·《观沧海》主要题材与人物分析\n·讨论作者使用的写作技巧和文学手段\n三、写作练习 (50 分钟)\n·《关沧海》主题人物相关写作提示\n·同行评审和反馈\n四、课后总结(10 分钟)\n·课程重点回顾\n·讨论课程如何与现实世界的情况相关\n\n总体而言，本教案旨在让学生深入了解”观沧海”及其历史背景，同时培养他们的批判性思维和写作能力。通过分析小说中的主题和人物，学生将更好地理解人性的复杂性和文学传达重要信息的力量。完成本课程后，学生将能够将他们的文学分析和写作技巧应用到各种学术和现实世界中。\n###\n问答助手在执行什么任务？答："
    "<教案撰写><创意写作>\n"
    "用户问话及对话助手回答：###用户问：根据下文生成一段小说。李一不喜欢自己的工程师的本职工作，加班使她压力很大；同事之间的人际关系也不融洽；老板从来不体谅下属。她决定辞职，\n###\n问答助手在执行什么任务？答："
    "<创意写作><小说生成>\n"
    "用户问话及对话助手回答：###用户问：用pytorch实现：\n1.调用bert\n2.实现文本分类，类别有10类，\n###\n问答助手在执行什么任务？答："
    "<编程><python代码写作>\n"
    "问话及对话助手回答：###苹果、橘子、香蕉、甘蔗、草莓、西红柿、橙子、鸭梨、水果” 请你从中找出与其他几项存在区别的一项，并详细解释存在什么样的区别\n对话助手回答：在几个选项中，“水果”与其他几项存在区别。水果是类别总称，其余几项均为单一物种名称。\n###\n问答助手在执行什么任务？答："
    "<逻辑推理>\n"
    "用户问话及对话助手回答：###{prompt}\n###\n问答助手在执行什么任务？答："
)

ability_prompt_eng = (
    "Please read the dialogue marked using ### between the user and an assistant, then enumerate what kind of abilities the assistant should use for completing this dialogue. Note that, only output the name of each kind of ability in Chinese, and seperate each kind of ability using <>. "
    "Note that do not output the meaningless ability name such as <问题解决>"
    "Note that you should distinguish 'ability' with 'knowledge'. For example, when providing a dialogue about code completion, you should output <编程能力>."
    "The following providing several instances:"
    "Dialogue：###USER: Given a string of text, return the first repeated word that appears in the string.\ntext = \"The quick brown fox jumps over the lazy dog. The dog barks at the fox.\"\nNote: Punctuation should not be considered as a part of a word.\nassistant: \"Here's a Python code that solves the problem:\n```\ndef first_repeated_word(text):\n    words = text.lower().replace('.', '').replace(',', '').split()\n    seen = set()\n    for word in words:\n        if word in seen:\n            return word\n        seen.add(word)\n    return None\n```\nHere's how to use the function:\n```\ntext = \"The quick brown fox jumps over the lazy dog. The dog barks at the fox.\"\nprint(first_repeated_word(text))  # Output: the\n```\nThe function first converts the text to lowercase and removes all punctuation. Then, it splits the text into a list of words. It uses a set to keep track of the words that have been seen before. For each word in the list, it checks if the word is already in the set. If it is, then it returns the word as the first repeated word. If the loop finishes without finding a repeated word, then it returns None.\n###\nWhat kind of abilities the assistant should have? Answer: "
    "<代码生成><python编程>\n"
    "Dialogue：###USER: I walked 8 meters, which is only three-eighths of the total distance. How much further do I have to walk?\nASSISTANT: 8 meters is three-eighths of the total distance, which means the total distance is twenty-one and a third meters. Having walked 8 meters, there remains thirteen and a third meters to go.\n###What kind of abilities the assistant should have? Answer: "
    "<数学推理><逻辑推理>\n"
    "Dialogue：###USER: Who is Donald Trump?\nassistant: Donald Trump is an American businessman, television personality, and politician who served as the 45th President of the United States from January 20, 2017, to January 20, 2021. \n###\nWhat kind of abilities the assistant should have? Answer: "
    "<常识推理>\n"
    "Dialogue：###USER: Please translate 'to paint the lily' into Chinese. \nassistant: The translation of 'to paint the lily' is “画蛇添足”.\n###\nWhat kind of abilities the assistant should have? Answer: "
    "<多语言理解><翻译>\n"
    "Dialogue：###USER: 'Apples, oranges, bananas, sugarcane, strawberries, tomatoes, tangerines, pears, fruit' Please identify the item that differs from the others and explain the difference in detail.\nassistant: Among the options, 'fruit' differs from the others. 'Fruit' is a general category term, while the rest are names of individual species.\n###\nWhat kind of abilities the assistant should have? Answer: "
    "<逻辑推理><常识推理>\n"
    "Dialogue：###USER：{prompt}\n###\nWhat kind of abilities the assistant should have? Answer: "
)

task_prompt_eng = (
    "Please read the dialogue marked using ### between the user and an assistant, then enumerate what kind of task the assistant is conducting. Note that, only output the name of each kind of task in Chinese, and seperate each kind of task using <>. "
    "Note that do not output the meaningless task such as <问题解决> or <文本生成>"
    "The following providing several instances:"
    "Dialogue：###USER: Given a string of text, return the first repeated word that appears in the string.\ntext = \"The quick brown fox jumps over the lazy dog. The dog barks at the fox.\"\nNote: Punctuation should not be considered as a part of a word.\nassistant: \"Here's a Python code that solves the problem:\n```\ndef first_repeated_word(text):\n    words = text.lower().replace('.', '').replace(',', '').split()\n    seen = set()\n    for word in words:\n        if word in seen:\n            return word\n        seen.add(word)\n    return None\n```\nHere's how to use the function:\n```\ntext = \"The quick brown fox jumps over the lazy dog. The dog barks at the fox.\"\nprint(first_repeated_word(text))  # Output: the\n```\nThe function first converts the text to lowercase and removes all punctuation. Then, it splits the text into a list of words. It uses a set to keep track of the words that have been seen before. For each word in the list, it checks if the word is already in the set. If it is, then it returns the word as the first repeated word. If the loop finishes without finding a repeated word, then it returns None.\n###\nWhat kind of abilities the assistant should have? Answer: "
    "<代码生成>\n"
    "Dialogue：###USER: I walked 8 meters, which is only three-eighths of the total distance. How much further do I have to walk?\nASSISTANT: 8 meters is three-eighths of the total distance, which means the total distance is twenty-one and a third meters. Having walked 8 meters, there remains thirteen and a third meters to go.\n###What kind of abilities the assistant should have? Answer: "
    "<数学推理><逻辑推理>\n"
    "Dialogue：###USER: Write a story for me. \nassistant: Once there was a princess and ...\n###\nWhat kind of abilities the assistant should have? Answer: "
    "<创意生成>\n"
    "Dialogue：###USER: Please generate a personal resume for for me. \nassistant: Ok. Bill \n Male, Graduate from ...\n###\nWhat kind of abilities the assistant should have? Answer: "
    "<创意生成><简历写作>\n"
    "Dialogue：###USER: Please translate 'to paint the lily' into Chinese. \nassistant: The translation of 'to paint the lily' is “画蛇添足”.\n###\nWhat kind of abilities the assistant should have? Answer: "
    "<翻译>\n"
    "Dialogue：###USER: 'Apples, oranges, bananas, sugarcane, strawberries, tomatoes, tangerines, pears, fruit' Please identify the item that differs from the others and explain the difference in detail.\nassistant: Among the options, 'fruit' differs from the others. 'Fruit' is a general category term, while the rest are names of individual species.\n###\nWhat kind of abilities the assistant should have? Answer: "
    "<常识推理>\n"
    "Dialogue：###USER：{prompt}\n###\nWhat kind of abilities the assistant should have? Answer: "
)